package com.example.data.factory.service.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.data.factory.common.Dto.*;
import com.example.data.factory.common.result.R;
import com.example.data.factory.entity.entity.Interface;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author lhy
 * @since 2025-03-03
 */
public interface InterfaceService extends IService<Interface> {

    R<Interface> search (SearchInterfaceDTO searchInterfaceDTO);

    R<Interface> insert(InsertInterfaceDto insertInterfaceDto, HttpServletRequest request);

    R<Interface> insets(InsertInterfaceAndInterfaceParamDto insertInterfaceAndInterfaceParamDto, HttpServletRequest request);

    R<Interface> updates(UpdateInterfaceAndInterfaceParamDto updateInterfaceAndInterfaceParamDto);

    R<Interface> updatestatus(UpdateInterfaceStatusDto updateInterfaceStatusDto);

    R<Interface> updatestatsbatch(List<UpdateInterfaceStatusDto> updateInterfaceStatusDtos);

    R<Interface> delete(DeleteInterfaceDto deleteInterfaceDto);

    R<Interface> searchdetail(DeleteInterfaceDto deleteInterfaceDto);

    R<Map<String, String>> classifyBatch(ClassifyBatch request);

    Map<String, String> testInterfaces(Integer id);

    String testInterfaceById(Integer id, Map<String, String> userParams);
}
